/* ------------------------------------------------------------------ Problem set #5 Header file for generic network ------------------------------------------------------------------- */ #ifndef network_hh #define network_hh #include "support.hh" // Global variable which tells the world how many parameters our model has int total_weights; // Initialize weight matrices, must be called in main() // PROVIDED void initialize(int inputs, int outputs); // Randomize weight matices, should be called in main() // YOU WRITE void randomize_weights(double range); // Calculate partial derviative of output with respect to weights // Weights represented as one big vector // YOU WRITE matrix model_gradient(vector& input_data); // Calculate output of model given input // YOU WRITE vector model_output(vector& input_data); // Increment the weights by delta_w, which is encoded in the vector // representation of the weights // YOU WRITE void increment_weights(vector& delta_w); // Print out the details of the model // PROVIDED void print_model(); // For two layer net only, return the value of the hidden units // PROVIDED vector hidden_output(vector& input_data); #endif